为了探索设备代码将在何处执行，我们来看五个用例:\par

方法1:当不关心使用哪个设备时，随意在某个地方运行设备代码即可。这通常是开发的第一步。\par

方法2:在主机设备上显式地运行设备代码，通常用于调试。主机设备保证在任何系统上始终可用。\par

方法3:将设备代码分配到GPU或加速器上。\par

方法4:将设备代码分配到异构设备集，如同时分配到GPU和FPGA上。\par

方法5:从更一般的设备类别中选择特定的设备，例如：从一组可用FPGA类型中选择特定类型的FPGA。\par

\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black]
开发人员通常会使用方法2调试代码，并且只有在使用方法2对代码进行了实际测试后，才会使用方法3-5。
\end{tcolorbox}












